The present invention relates to error correcting codes for the correction of double errors and the detection of triple in memory arrays.
A double error correcting and triple error detecting (DEC-TED) code can be constructed based on the well known BCH coding theory (see W. W. Peterson and E. J. Weldon, Jr., Error Correcting Codes, 1972, MIT Press). To do this, let .alpha. be a primitive element of the finite field GF(2.sup.m), and let n=2.sup.m -1. If an element of GF(2.sup.m) is then expressed as a binary m-tuple, a DEC-TED BCH code of length n can be defined as the code with the following (.gamma..times.n) parity check matrix where each column consists of two m-tuples .alpha..sup.i and .alpha..sup.3i plus a leading 1: ##EQU1## The number of check bits .gamma. and the number of data bits k for this code are 2m+1 and n-2m-1 respectively. If 128 data bits are to be protected by the code, it should be apparent that m must be 8 or larger and that there is a (255,238) DEC-TED BCH code with n=255, k=238, and .gamma.=17.
In co-pending U.S. patent application Ser. No. 424,940 filed on Sept. 28, 1982 and entitled "Double Error Correction--Triple Error Detection Code" it is shown how a shortened (144, 128) code can be obtained from the (255,238) BCH code defined by the H matrix in (1). In the mentioned co-pending application, it is shown how BCH codes can be decoded using a split look-up table technique to minimize the number of circuits needed to locate the bits in error. In certain applications, more rapid decoding is needed than is provided by the split decoder technique.